DynamicTextShape AddHatchPatternOffsetInOut

Adds an Offset In Out type hatch pattern to the shape

Overloads

public void AddHatchPatternOffsetInOut(float insideOffsetGap, int insideOffsetCount, float outsideOffsetGap, int outsideOffsetCount, HatchOffsetAlgorithm algorithm, HatchCornerStyle cornerStyle)
public void AddHatchPatternOffsetInOut(float insideOffsetGap, int insideOffsetCount, float outsideOffsetGap, int outsideOffsetCount, HatchOffsetAlgorithm algorithm, HatchCornerStyle cornerStyle, bool applySmoothing)

 

Return value

void  

 

Parameters

float insideOffsetGap The gap between the offset lines inside the object boundary
float outsideOffsetGap The gap between offset lines outside the object boundary
int insideOffsetCount The number of offsets to be filled inside the object boundary
int outsideOffsetCount The number of offsets to be filled outside of the object boundary
HatchOffsetAlgorithm algorithm Select the hatching algorithm
HatchCornerStyle cornerStyle Select the corner style
bool applySmoothing Enable smoothing for hatch lines

 

Example

Copy
scanDocument = scanDeviceManager.CreateScanDocument(GetselectedDeviceUniqueName(), DistanceUnit.Millimeters, false);
scanDocument.SetScanDocumentName("SerialNumberSample");

// Create a serial number variable
SerialNumber serialVar = new SerialNumber("SerialID");
// Add new line 
serialVar.SerialItemList.Add(new NewLineSerialItem());
// Add static text part of the serial number
TextSerialItem textPart = new TextSerialItem();
textPart.Text = "Serial # : ";
serialVar.SerialItemList.Add(textPart);

// Add the number serial item part
NumberSerialItem numberSerialItem = new NumberSerialItem();
numberSerialItem.IsCurrentNumberEnabled = true;
numberSerialItem.StartNumber = 1;
numberSerialItem.CurrentNumber = 1;
numberSerialItem.EndNumber = 10;
numberSerialItem.Increment = 1;
numberSerialItem.FixedLength = 3;
numberSerialItem.RepeatCount = 0;
numberSerialItem.NumarelRepresentation = NumberSystemStyle.Decimal;

serialVar.SerialItemList.Add(numberSerialItem);
serialVar.SerialItemList.Add(new NewLineSerialItem());

//Loop cycles
scanDocument.SetIterations(10);
//Add serialNumber to ScanDocument
scanDocument.AddSerialNumberVariable(serialVar);

if (scanDocument != null)
{
    VectorImage vectorImage = scanDocument.CreateVectorImage("image1", DistanceUnit.Millimeters);

    vectorImage.SetMarkSpeed(1000);
    vectorImage.SetJumpSpeed(2000);
    vectorImage.SetJumpDelay(100);
    vectorImage.SetMarkDelay(100);

    //Set Laser Delays
    vectorImage.SetLaserOnDelay(10);
    vectorImage.SetLaserOffDelay(10);

    DynamicArcTextShape dynamicArcText = new DynamicArcTextShape();
    dynamicArcText.Height = 5;
    dynamicArcText.VariableName = "arcText1";
    dynamicArcText.Text = "Sample Arc text";
    dynamicArcText.EvaluateVariableTags = true;
    dynamicArcText.FontName = "Arial";
    dynamicArcText.Center.X = 0;
    dynamicArcText.Center.Y = 0;
    dynamicArcText.Center.Z = 0;
    dynamicArcText.Radius = 20;
    dynamicArcText.StartAngle = 160 * (float)(Math.PI / 180);
    dynamicArcText.Clockwise = true;
    dynamicArcText.Align = ArcTextAlign.Baseline;
    
    dynamicArcText.AddHatchPatternOffsetInOut(0.1f, 5, 0.1f, 2, HatchOffsetAlgorithm.DirectOffset, HatchCornerStyle.SmoothWithLines);

    // Characters from 0 to 255 or basically extended ASCII range is embedded
    Collection<UnicodeRange> unicodeRanges = new Collection<UnicodeRange>();
    UnicodeRange unicodeRange = new UnicodeRange();
    unicodeRange.StartingCharacter = Convert.ToChar(0x00);
    unicodeRange.EndingCharacter = Convert.ToChar(0xff);
    unicodeRanges.Add(unicodeRange);
    scanDocument.EmbedFont("Arial", FontStyle.Regular, unicodeRanges); // We need to embed the font for dynamic text shapes top be marked

    vectorImage.AddDynamicArcText(dynamicArcText, new SerialNumberEx(serialVar));
    scanDocument.Scripts.Add(new ScanningScriptChunk("defaultScript", "ScanAll()\r\nLaser.WaitForEnd()"));

    try
    {
        scanDocument.StartScanning();
    }
    catch
    {

    }
}